#!/usr/bin/python
# -*- coding: utf8 -*-
import sys
from PyQt4 import QtCore, QtGui
from tela import Ui_principal
import nltk
import re
import pprint
from sintatico.lexico import Lexico
from sintatico.sintatico import Sintatico
from sintatico.semantico import Semantico



class MyForm(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_principal()
        self.ui.setupUi(self)

def abrir_arquivo():
    global arquivo
    arquivo = QtGui.QFileDialog.getOpenFileName(myapp, 'Abrir Arquivo', '/home/celso/textos')
    myapp.ui.txtArquivoEntrada.setText(arquivo)
    
def processar_clicked():
    sem = Semantico()
    print 'Inicia análise lexical'
    print arquivo
    lex = Lexico(str(arquivo))
    
    #estrutura = lex.Processar()
    estrutura = lex.CarregarArquivo()

    sin = Sintatico(estrutura)
    print 'Inicia análise sintática'
    arvore = sin.Processar()
    print 'Terminou análise sintática'
    sem.Processamento(arvore.pprint().replace('\n','').replace('\t',''))
    
    print 'Resultado:'
    print sem.jogoDeFutebol
    
    print 'Times Candidatos:'
    print sem.timesCandidatos
    
    print 'Relacao:'
    print sem.relacao
    
    print 'Relacao-------------------------------------------------------------------------------:'
    
    sem.ProcessamentoFinal()
    
    print 'Resultado:'
    print sem.jogoDeFutebol
    
    myapp.ui.txtEquipe1.setText(sem.jogoDeFutebol['equipe1'])
    myapp.ui.txtEquipe2.setText(sem.jogoDeFutebol['equipe2'])
    myapp.ui.txtGols1.setText(sem.jogoDeFutebol['gols1'])
    myapp.ui.txtGols2.setText(sem.jogoDeFutebol['gols2'])
    myapp.ui.txtEstadio.setText(sem.jogoDeFutebol['estadio'])

if __name__ == "__main__":
    arquivo = ''
    app = QtGui.QApplication(sys.argv)
    myapp = MyForm()
    myapp.show()
    myapp.connect(myapp.ui.btnProcessar, QtCore.SIGNAL('clicked()'),processar_clicked)
    myapp.connect(myapp.ui.btnArquivo, QtCore.SIGNAL('clicked()'), abrir_arquivo)
    sys.exit(app.exec_())